AOPS: an abstraction-oriented programming system for literate programming
نویسندگان
چکیده
The practice of literate programming is not widespread because existing literate programming systems have some undesirable characteristics such as programming language and text processor dependence and lack of flexible tools for viewing and manipulation of the source file. This paper describes the literate programming system AOPS (Abstraction Oriented Programming System) which addresses both of these problems. AOPS is programming language and text processor independent literate programming system. AOPS tools include a hypertext browser, a lister with the ability to select what is presented and what is suppressed, and a filter to extract the program code from the AOPS source file. AOPS introduces the notion of a phantom abstraction that enhances the understandability of the literate program and when used in conjunction with the browser greatly extends the capabilities of AOPS. We also discuss how the design of AOPS supports extension of the concept of literate programming. Finally we report the results of a preliminary experiment that showed that literate programs contain more documentation than traditional programs. CR Categories and Subject Description: D.2.2 [Software Engineering]: Tools and Techniques.
منابع مشابه
Towards the Systematic Testing of Aspect-Oriented Programs
The code that provides solutions to key software requirements, such as security and fault-tolerance, tends to be spread throughout (or cross-cut) the program modules that implement the “primary functionality” of a software system. Aspect-oriented programming is an emerging programming paradigm that supports implementing such cross-cutting requirements into named program units called “aspects”. ...
متن کاملSupporting tailorable program visualisation through literate programming and fisheye views
This paper describes the “Jaba” programming environment which allows users to tailor the level of abstraction at which they visualise, browse, edit and document object-oriented programs. Its design draws on concepts from literate programming, holophrasting displays, fisheye visualisation and hypertext to allow programmers to rapidly move between abstract and detailed views of Java classes. The ...
متن کاملAn Elucidative Programming Environment for Scheme (Incomplete Draft)
In this paper we describe a programming environment for Scheme that supports elucidative programming. Scheme is a programming language in the Lisp family. Elucidative programming is a variant of literate programming. Literate programming represents the idea of structuring the program as fragments that are contained in an essay that documents the program understanding. Elucidative programming is...
متن کاملLiterate Engines in Lisp
An engine is a programming language abstraction that implements timed preemption. Engines form a useful mechanism where bounded computation is needed. We describe an implementation of engines in Common Lisp and illustrate its functionality. We conclude with a discussion on how engines are being used in an ongoing project about goal-driven explanation. This paper is also an exercise in writing a...
متن کاملA Novel Approach for Computing Dynamic Slices of Aspect-Oriented Programs
We propose a dynamic slicing algorithm to compute the slices of aspect-oriented programs. We use a dependence based intermediate program representation called Aspect System Dependence Graph (AOSG) to represent aspect-oriented programs. Then, we propose the dynamic slicing algorithm for AOPs, which is an extended version of EMDS algorithm for object-oriented programs. Our algorithm is based on m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Software Engineering Journal
دوره 8 شماره
صفحات -
تاریخ انتشار 1993